Loading...
 

External with overwrites for customer-specific derivation - Example 1

External with overwrites for customer-specific derivation - Example 1

The example of an application:

Basics.mod Module(Basics) [ Define(GetQuantity) LocalVar(value, amount) -> amount, -> value value amount *; ] Processing.mod Module(Processing) : Basics [ Define(GetPrice) LocalVar(pricePerUnit) -> privcePerUnit GetQuantity pricePerUnit *; Msg(GET_PRICE) GET_PRICE: GetPrice ReturnStack ] Anwendung und Extern-Definitionen Module(Application) [ Msg(GET_PRICE) Define(DoSomething) LocalVar(unitPrice, value, amount) . . . unitPrice amount value SendMsg(GET_PRICE) . . . ; ] Extern(Basics, File(Basics.mod)) Extern(Processing, File(Processing.mod), triggeredBy(GET_PRICE)) : Basics Eine Modifikation für Kunde X: BasicsForCustomerX.mod Module(BasicsForCustomerX) : Basics [ Define(GetQuantity) LocalVar(qty) super::GetQuantity -> qty qty 1000 >= if { qty 80.5% *= } qty; ]

i.e. a module is inserted in the inheritance sequence. The external definition of the base application (see above) should not